home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / dsp / dspgroup / bell212.arc / TTABLE.ASM < prev    next >
Encoding:
Assembly Source File  |  1986-07-25  |  26.1 KB  |  869 lines

  1.        TITL ' TMS32011 MODEM TABLES '
  2.        IDT  'TABLES'
  3.        OPTION XREF,TUNLST
  4. ********------------------------------------------********
  5. *****  These are the tables used in the TMS32011     *****
  6. *****  modem code.  This must be the first module    *****
  7. *****  linked to assure the tables in low addresses. *****
  8. *****  This code also include the initialization     *****
  9. *****  routines and command handler.             *****
  10. *****                             *****
  11. *****  MODULE BUILT BY PETER EHLIG  12/02/85         *****
  12. *****  REVISION 1.1            1/11/86         *****
  13. *****                             *****
  14. *****  COPYRIGHT TEXAS INSTRUMENTS,  07/25/86         *****
  15. *****                             *****
  16. ********------------------------------------------********
  17. ************************************************************
  18. ****  MODEM RECEIVER STATUS REGISTER DEFINITIONS BIT    ****
  19. ****    0   LSB OF RECEIVE DIBIT OR DATA BIT OF 300BPS    ****
  20. ****    1   MSB OF RECEIVE DIBIT BIT 1 OF V.22BIS    ****
  21. ****    2   ANS.TONE /W.MODM XMT SQLCH (V.22BIT QUADBIT)****
  22. ****    3   MSB OF V.22BIS QUADBIT            ****
  23. ****    4   CARRIER DETECT ACTIVE HIGH            ****
  24. ****    5   ENERGY DETECT ACTIVE HIGH            ****
  25. ****    6   BAUD ALIGNMENT ENABLE ACTIVE LOW        ****
  26. ****    7   ANSWER(-) OR ORIGINATE (+)            ****
  27. ****    8-15 RESERVED                    ****
  28. ************************************************************
  29. ****   COMMAND/CONFIGURATION DATA BIT DEFINITIONS    ****
  30. **** -------------------------------------------------- ****
  31. ****|CMND2 | CMND2 | DATA 4 | DATA 3 | DATA 2 | DATA 1 |****
  32. **** -------------------------------------------------- ****
  33. **** COMMAND BITS     |   00   IDLE            ****
  34. **** DESCRIPTION      |   01   DIAL A NUMBER        ****
  35. ****              |   10   RUN MODEM AS CONFIGURED    ****
  36. ****              |   11   CONFIGURE MODEM        ****
  37. ************************************************************
  38. ****    CONFIGURATION COMMAND CODES            ****
  39. ****                            ****
  40. ****    0000 RUN BELL 212 MODEM             ****
  41. ****    0001 RUN LOCAL DIGITAL LOOPBACK         ****
  42. ****    0010 RUN ANALOG LOOPBACK            ****
  43. ****    0011 INITIALIZE TO ORIGINATE MODE        ****
  44. ****    0100 INITIALIZE TO ANSWER MODE            ****
  45. ****    0101 RUN BELL 103 MODEM             ****
  46. ****    1101 RUN BELL 103 MODEM/SQUELCH TRANSMIT    ****
  47. ****    0110 RUN V.21 MODEM                ****
  48. ****    0111 RUN V.22 MODEM                ****
  49. ****    1000 RUN V.22BIS MODEM                ****
  50. ****    0110-1000 NOT YET IMPLEMENTED            ****
  51. ****    1100 RUN 1200 ANS/W.ANS TONE,SQLCH MODM XMIT    ****
  52. ****    1001-1111 RESERVED FOR FUTURE EXPANSION     ****
  53. **********************************************************
  54. *****      32011 SERIAL PORT INITIALIZATION TABLE     *****
  55. *****------------------------------------------------*****
  56. *****  BITS0-3= >F  RESET ALL INTERRUPT FLAGS         *****
  57. *****  BITS4-7= 0   INTERRUPT MASK BITS (DISABLE)    *****
  58. *****  BIT8 = 1  ACCESS COUNTER/CLOCK SCALER ACCESS  *****
  59. *****  BIT9 = 0  SERIAL PORT FRAMED USING FR         *****
  60. *****  BIT11= 1  SERIAL PORT ENABLED             *****
  61. *****  BIT12= 1  ENABLE uLAW ENCODER             *****
  62. *****  BIT13= 1  ENABLE uLAW DECODER             *****
  63. *****  BIT14= 0  COMPANDING TYPE SET TO uLAW         *****
  64. *****  BIT15= 0  TIMING SET USING PRESCALER         *****
  65. *****  BITS0-3,10  DONT CARE                 *****
  66. *****  INISP1 = >390F                     *****
  67. *****                             *****
  68. *****  BITS16-23 = >BE    FRAME COUNTER VALUE (192)    *****
  69. *****  BITS24-27 = >C    SCLK PRESCALER             *****
  70. *****  BIT28= 1  VARIABLE DATA RATE             *****
  71. *****  BITS29-31 DONT CARE                 *****
  72. *****  INISP2 = >1CBE                     *****
  73. *****                             *****
  74. ********------------------------------------------********
  75.        PAGE
  76.        DEF  TONTBL,LBSP,LBMK,HBSP,HBMK
  77.        DEF  PLLC,BPLLC,SETUPA,SETUPO,DT1
  78.        DEF  TSKSEQ,TSKXMT,ORGCOF,ANSCOF,COEF
  79.        DEF  AGCTBL,SINE,COMD
  80.        REF  DUMMY,BDCLK2,TRENDS,OUT,DECODE
  81.        REF  DEMODB,AGCUPT,BDCLK1,DEBUG,BAUDST
  82.        REF  GETDBT,DUMXMT
  83.        REF  ANALOG,DIAL,WAIT,RUN12,RUN103,RSQ103
  84.        REF  RUN12A
  85.        B    START
  86.        PAGE
  87.        COPY TASKMAS.EQU
  88. ********------------------------------------------********
  89. *****        TRANSMITTER DIBIT ENCODER TABLE.         *****
  90. ********------------------------------------------********
  91. ENCODE    DATA    >0002        * DIBIT '01' = 90 deg.
  92.     DATA    >0000        * DIBIT '00' = 0 deg.
  93.     DATA    >0004        * DIBIT '10' = 180 deg
  94.     DATA    >0006        * DIBIT '11' = 270 deg.
  95. XPHASE    DATA    >7FFF        * 0 deg.   I CHANNEL =  1
  96.     DATA    >0000        *           Q CHANNEL =  0
  97.     DATA    >0000        * 90 deg.  I CHANNEL =  0
  98.     DATA    >8000        *           Q CHANNEL = -1
  99.     DATA    >8000        * 180 deg. I CHANNEL = -1
  100.     DATA    >0000        *           Q CHANNEL =  0
  101.     DATA    >0000        * 270 deg. I CHANNEL =  0
  102.     DATA    >7FFF        *           Q CHANNEL =  1
  103. ********------------------------------------------********
  104. *****        RECEIVER DIBIT ENCODER TABLE.         *****
  105. *****        DIBITS are formed as 'MSB,LSB'.          *****
  106. ********------------------------------------------********
  107. RPHASE    DATA    >0001        * 0  deg.,    DIBIT = '01'
  108.     DATA    >0000        * 90 deg.,    DIBIT = '00'
  109.     DATA    >0002        * 180 deg., DIBIT = '10'
  110.     DATA    >0003        * 270 deg., DIBIT = '11'
  111. *
  112. M1    DATA    >7FFF
  113. M2    DATA    >007F
  114. M3    DATA    >0006
  115. CK    DATA    >0208        * CLOCK FOR AIB
  116. MD    DATA    >000A        * MODE FOR AIB
  117. ST    DATA    >1800
  118.     DATA    >0000
  119. DT    DATA    >1000        * TRANSMIT DELTA.
  120. DT1    DATA    >2000        * RECEIVE DELTA.
  121. TH1    DATA    >0009        *  0.01  Q12 TRSHD FOR CARRIER
  122. TH2    DATA    >0020        *  0.01  Q12 TRSHD FOR BAUD CLOCK
  123. MIN1    DATA    >F000        * -1 Q12
  124. PLS1    DATA    >0FFF        *  1 Q12
  125. SINTBL    DATA    SINE
  126. *
  127.        PAGE
  128. *     ANSWER MODE HILBERT TRANSFORM COEFFICIENTS
  129. ACEQU  DATA 29059       A11
  130.        DATA -14492       A12
  131.        DATA 10922       B10
  132.        DATA -21901       B11
  133.        DATA 24696       B12
  134.        DATA 18983       A21
  135.        DATA -19586       A22
  136.        DATA 16384       B20
  137.        DATA -15879       B21
  138.        DATA 27410       B22
  139. *
  140. *     ORIGINATE MODE HILBERT TRANSFORM COEFFICIENTS
  141. OCEQU  DATA 17810       A11
  142.        DATA -18620       A12
  143.        DATA 16384       B10
  144.        DATA -15671       B11
  145.        DATA 28833       B12
  146.        DATA 1394       A21
  147.        DATA -13237       A22
  148.        DATA 10922       B20
  149.        DATA -1150       B21
  150.        DATA 27038       B22
  151. *
  152.        PAGE
  153. INISP1 DATA >390F     SERIAL PORT INITIALIZE
  154. INISP2 DATA >1CBE     PORT SCALER INITIALIZE
  155. INISP3 DATA >380F     SET PORT1 TO ACCESS XMIT REG
  156. *
  157. ********------------------------------------------********
  158. *****       DTMF TONE OFFSET VALUE DECODE TABLE         *****
  159. ********------------------------------------------********
  160. *
  161. TONTBL    EQU  $
  162.     DATA >11D,>C9     TONE FREQ 1336,941 DIGIT 0
  163.     DATA >102,>95     TONE FREQ 1209,697 DIGIT 1
  164.     DATA >11D,>95     TONE FREQ 1336,697 DIGIT 2
  165.     DATA >13B,>95     TONE FREQ 1477,697 DIGIT 3
  166.     DATA >102,>A4     TONE FREQ 1209,770 DIGIT 4
  167.     DATA >11D,>A4     TONE FREQ 1336,770 DIGIT 5
  168.     DATA >13B,>A4     TONE FREQ 1477,770 DIGIT 6
  169.     DATA >102,>B6     TONE FREQ 1209,853 DIGIT 7
  170.     DATA >11D,>B6     TONE FREQ 1336,853 DIGIT 8
  171.     DATA >13B,>B6     TONE FREQ 1477,853 DIGIT 9
  172.     DATA >102,>C9     TONE FREQ 1209,941 DIGIT *
  173.     DATA >13B,>C9     TONE FREQ 1477,941 DIGIT #
  174. * TEST TONES
  175. LBSP    DATA >E4     ANSWER XMIT SPACE  DIGIT /
  176. LBMK    DATA >10F     ANSWER XMIT MARK   DIGIT .
  177. HBSP    DATA >1B0     ORIGIN XMIT SPACE  DIGIT ,
  178. HBMK    DATA >1DB     ORIGIN XMIT MARK   DIGIT ;
  179. *
  180. ********------------------------------------------********
  181. *****    PLL LOOP FILTER COFFECIENTS.             *****
  182. ********------------------------------------------********
  183. *
  184. PLLC1    DATA    >4500    * Q15    CARRIER PLL COEFFICIENTS
  185. PLLC2    DATA    >80    * Q15    CARRIER PLL COEFFICIENTS
  186. BPLLC1    DATA    >4000    * Q15    BAUD CLOCK PLL COEFFICIENTS
  187. BPLLC2    DATA    >50    * Q15    BAUD CLOCK PLL COEFFICIENTS
  188. PLLC    DATA    >7A00
  189. BPLLC    DATA    >7500
  190. *
  191. **********----------------------------------------********
  192. *****    TASK MASTER SEQUENCE TABLE  (RECEIVE)         *****
  193. *****    TASKS ARE EXECUTED FROM BOTTOM TO TOP         *****
  194. **********----------------------------------------********
  195. *
  196. TSKSEQ    EQU  $
  197.     DATA DUMMY    DUMMY CYCLE, DEMOD FOR DEBUG    15
  198.     DATA DUMMY    DUMMY CYCLE, DEMOD FOR DEBUG    14
  199.     DATA DUMMY    DUMMY CYCLE, DEMOD FOR DEBUG    13
  200.     DATA DUMMY    DUMMY CYCLE, DEMOD FOR DEBUG    12
  201.     DATA BDCLK2   SHIFT BIT2 IN, DESCRM,XMIT TO DTE 11
  202.     DATA TRENDS   UPDATE CARRIER STEP        10
  203.     DATA OUT      OUTPUT DIBIT TO 7000         9
  204.     DATA DECODE   DECODE PHASE SHIFT, CORRECT PHASE  8
  205.     DATA DEMODB   DEMODULATE FOR BAUD         7
  206.     DATA DUMMY    DUMMY CYCLE, DEMOD FOR DEBUG     6
  207.     DATA AGCUPT   UPDATE THE AUTOMATIC GAIN FACTOR     5
  208.     DATA DUMMY    DUMMY CYCLE, DEMOD FOR DEBUG     4
  209.     DATA BDCLK1   SHIFT BIT1 IN, DESCRM, XMIT TO DTE 3
  210.     DATA DEBUG    DUMMY CYCLE, DEMOD FOR DEBUG     2
  211.     DATA DUMMY    DUMMY CYCLE, DEMOD FOR DEBUG     1
  212.     DATA BAUDST   SHOW BAUD START,DEMOD FOR DEBUG     0
  213. *
  214. **********----------------------------------------********
  215. *****    TASK MASTER SEQUENCE TABLE  (TRANSMIT)         *****
  216. *****    TASKS ARE EXECUTED FROM BOTTOM TO TOP         *****
  217. **********----------------------------------------********
  218. *
  219. TSKXMT    EQU  $
  220.     DATA GETDBT   GET THE NEXT DIBIT        16
  221.     DATA DUMXMT   NO CYCLE                15
  222.     DATA DUMXMT   NO CYCLE                14
  223.     DATA DUMXMT   NO CYCLE                13
  224.     DATA DUMXMT   NO CYCLE                12
  225.     DATA DUMXMT   NO CYCLE                11
  226.     DATA DUMXMT   NO CYCLE                10
  227.     DATA DUMXMT   NO CYCLE                 9
  228.     DATA DUMXMT   NO CYCLE                 8
  229.     DATA DUMXMT   NO CYCLE                 7
  230.     DATA DUMXMT   NO CYCLE                 6
  231.     DATA DUMXMT   NO CYCLE                 5
  232.     DATA DUMXMT   NO CYCLE                 4
  233.     DATA DUMXMT   NO CYCLE                 3
  234.     DATA DUMXMT   NO CYCLE                 2
  235.     DATA DUMXMT   NO CYCLE                 1
  236.     PAGE
  237. **********************************************************
  238. *****    320 BASED BELL 103 MODEM DATA AREA         *****
  239. **********************************************************
  240. *
  241. *************************************************
  242. *  ORIGINATE BANDPASS COEFFICIENT STORAGE AREA    *
  243. *************************************************
  244. *
  245. *  SECOND-ORDER SECTION #  1  ORIGINATE BANDPASS
  246. *
  247. ORGCOF DATA 19382       26  SECTION 1 B0
  248.        DATA 10271       27  SECTION 1 B1
  249.        DATA 5509       28  SECTION 1 A1
  250.        DATA -28378       29  SECTION 1 A2
  251.        DATA 19382       2A  SECTION 1 B2
  252. *
  253. *  SECOND-ORDER SECTION #  2  ORIGINATE BANDPASS
  254. *
  255.        DATA 20760       2B  SECTION 2 B0
  256.        DATA 4596       2C  SECTION 2 B1
  257.        DATA 3036       2D  SECTION 2 A1
  258.        DATA -29383       2E  SECTION 2 A2
  259.        DATA 20760       2F  SECTION 2 B2
  260. *
  261. *  SECOND-ORDER SECTION #  3  ORIGINATE BANDPASS
  262. *
  263.        DATA 14999       30  SECTION 3 B0
  264.        DATA -16860       31  SECTION 3 B1
  265.        DATA 8099       32  SECTION 3 A1
  266.        DATA -29479       33  SECTION 3 A2
  267.        DATA 14999       34  SECTION 3 B2
  268. *
  269. *  SECOND-ORDER SECTION #  4  ORIGINATE BANDPASS
  270. *
  271.        DATA 26693       35  SECTION 4 B0
  272.        DATA 0           36  SECTION 4 B1
  273.        DATA 1744       37  SECTION 4 A1
  274.        DATA -31573       38  SECTION 4 A2
  275.        DATA -26693       39  SECTION 4 B2
  276. *
  277. *  SECOND-ORDER SECTION #  5  ORIGINATE BANDPASS
  278. *
  279.        DATA 19635       35  SECTION 5 B0
  280.        DATA -17383       36  SECTION 5 B1
  281.        DATA 9676       37  SECTION 5 A1
  282.        DATA -31626       38  SECTION 5 A2
  283.        DATA 19635       39  SECTION 5 B2
  284. *
  285.     PAGE
  286. *************************************************
  287. *  ORIGINATE SPACE COEFFICIENT STORAGE AREA    *
  288. *************************************************
  289. *
  290. *  SECOND-ORDER SECTION #  1  ORIGINATE SPACE
  291. *
  292. ORGSPC DATA 31250       35  SECTION 1 B0
  293.        DATA -1498       36  SECTION 1 B1
  294.        DATA 8240       37  SECTION 1 A1
  295.        DATA -28707       38  SECTION 1 A2
  296.        DATA 31237       39  SECTION 1 B2
  297. *
  298. *  SECOND-ORDER SECTION #  2  ORIGINATE SPACE
  299. *
  300.        DATA 13650       3A  SECTION 2 B0
  301.        DATA -20813       3B  SECTION 2 B1
  302.        DATA 19790       3C  SECTION 2 A1
  303.        DATA -29475       3D  SECTION 2 A2
  304.        DATA 13646       3E  SECTION 2 B2
  305. *
  306.     PAGE
  307. *************************************************
  308. *  ORIGINATE MARK COEFFICIENT STORAGE AREA    *
  309. *************************************************
  310. *
  311. *  SECOND-ORDER SECTION #  1  ORIGINATE MARK
  312. *
  313. ORGMRK DATA 16779       44  SECTION 1 B0
  314.        DATA -10879       45  SECTION 1 B1
  315.        DATA 2735       46  SECTION 1 A1
  316.        DATA -28689       47  SECTION 1 A2
  317.        DATA 16772       48  SECTION 1 B2
  318. *
  319. *  SECOND-ORDER SECTION #  2  ORIGINATE MARK
  320. *
  321.        DATA 25155       49  SECTION 2 B0
  322.        DATA 27427       4A  SECTION 2 B1
  323.        DATA -10768       4B  SECTION 2 A1
  324.        DATA -28916       4C  SECTION 2 A2
  325.        DATA 25146       4D  SECTION 2 B2
  326. *
  327.     PAGE
  328. *************************************************
  329. *     ANSWER COEFFICIENT STORAGE AREA        *
  330. *************************************************
  331. *       THESE FILTERS NEED REDESIGN
  332. *  SECOND-ORDER SECTION #  1  ANSWER
  333. *
  334. ANSCOF DATA 17011       26  SECTION 1 B0
  335.        DATA 0           27  SECTION 1 B1
  336.        DATA 22234       28  SECTION 1 A1
  337.        DATA -28519       29  SECTION 1 A2
  338.        DATA -17011       2A  SECTION 1 B2
  339. *
  340. *  SECOND-ORDER SECTION #  2  ANSWER
  341. *
  342.        DATA 20101       2B  SECTION 2 B0
  343.        DATA -13084       2C  SECTION 2 B1
  344.        DATA 20602       2D  SECTION 2 A1
  345.        DATA -29315       2E  SECTION 2 A2
  346.        DATA 20201       2F  SECTION 2 B2
  347. *
  348. *  SECOND-ORDER SECTION #  3  ANSWER
  349. *
  350.        DATA 11962       30  SECTION 3 B0
  351.        DATA -21659       31  SECTION 3 B1
  352.        DATA 24342       32  SECTION 3 A1
  353.        DATA -29841       33  SECTION 3 A2
  354.        DATA 11962       34  SECTION 3 B2
  355. *
  356. *  SECOND-ORDER SECTION #  4  ANSWER
  357. *
  358.        DATA 21228       35  SECTION 4 B0
  359.        DATA -20833       36  SECTION 4 B1
  360.        DATA 20208       37  SECTION 4 A1
  361.        DATA -31533       38  SECTION 4 A2
  362.        DATA 21228       39  SECTION 4 B2
  363. *
  364. *  SECOND-ORDER SECTION #  5  ANSWER
  365. *
  366.        DATA 11313       35  SECTION 5 B0
  367.        DATA -19508       36  SECTION 5 B1
  368.        DATA 25844       37  SECTION 5 A1
  369.        DATA -31812       38  SECTION 5 A2
  370.        DATA 11313       39  SECTION 5 B2
  371. *
  372.        PAGE
  373. *************************************************
  374. *     ANSWER SPACE COEFFICIENT STORAGE AREA    *
  375. *************************************************
  376. *
  377. *  SECOND-ORDER SECTION #  1  ANSWER SPACE
  378. *
  379. ANSSPC DATA 19349       35  SECTION 1 B0
  380.        DATA 19349       36  SECTION 1 B1
  381.        DATA 11546       37  SECTION 1 A1
  382.        DATA 0           38  SECTION 1 A2
  383.        DATA 0           39  SECTION 1 B2
  384. *
  385. *  SECOND-ORDER SECTION #  2  ANSWER SPACE
  386. *
  387.        DATA 23041       3A  SECTION 2 B0
  388.        DATA -29668       3B  SECTION 2 B1
  389.        DATA 23733       3C  SECTION 2 A1
  390.        DATA -29035       3D  SECTION 2 A2
  391.        DATA 23041       3E  SECTION 2 B2
  392. *
  393.     PAGE
  394. *************************************************
  395. *     ANSWER MARK COEFFICIENT STORAGE AREA    *
  396. *************************************************
  397. *
  398. *  SECOND-ORDER SECTION #  1  ANSWER MARK
  399. *
  400. ANSMRK DATA 28581       44  SECTION 1 B0
  401.        DATA 2478       45  SECTION 1 B1
  402.        DATA 8248       46  SECTION 1 A1
  403.        DATA -27934       47  SECTION 1 A2
  404.        DATA 28581       48  SECTION 1 B2
  405. *
  406. *  SECOND-ORDER SECTION #  2  ANSWER MARK
  407. *
  408.        DATA 13089       49  SECTION 2 B0
  409.        DATA -21083       4A  SECTION 2 B1
  410.        DATA 20337       4B  SECTION 2 A1
  411.        DATA -28929       4C  SECTION 2 A2
  412.        DATA 13089       4D  SECTION 2 B2
  413. *
  414.     PAGE
  415. ********------------------------------------------********
  416. *****       RAISED COSINE COEFFICIENT TABLE.         *****
  417. ********------------------------------------------********
  418. COEF    DATA    >1
  419.     DATA    >49A
  420.     DATA    >394
  421.     DATA    >FFD9
  422.     DATA    >5A2
  423.     DATA    >29A
  424.     DATA    >FFAB
  425.     DATA    >6A0
  426.     DATA    >1B5
  427.     DATA    >FF7A
  428.     DATA    >789
  429.     DATA    >ED
  430.     DATA    >FF4C
  431.     DATA    >853
  432.     DATA    >45
  433.     DATA    >FF27
  434.     DATA    >8F4
  435.     DATA    >FFC3
  436.     DATA    >FF11
  437.     DATA    >963
  438.     DATA    >FF65
  439.     DATA    >FF10
  440.     DATA    >99C
  441.     DATA    >FF2A
  442.     DATA    >FF2A
  443.     DATA    >99C
  444.     DATA    >FF10
  445.     DATA    >FF65
  446.     DATA    >963
  447.     DATA    >FF11
  448.     DATA    >FFC3
  449.     DATA    >8F4
  450.     DATA    >FF27
  451.     DATA    >45
  452.     DATA    >853
  453.     DATA    >FF4C
  454.     DATA    >ED
  455.     DATA    >789
  456.     DATA    >FF7A
  457.     DATA    >1B5
  458.     DATA    >6A0
  459.     DATA    >FFAB
  460.     DATA    >29A
  461.     DATA    >5A2
  462.     DATA    >FFD9
  463.     DATA    >394
  464.     DATA    >49A
  465.     DATA    >1
  466. *
  467.     PAGE
  468. ***********************************************************
  469. *****  AGC DIVIDE LOOKUP TABLE                  *****
  470. *****     STANDARD GAIN RANGE -- >3CC3 - >3F79          *****
  471. *****     WITH 5% SIGNAL VARIATION -- >3966 - >41D6    *****
  472. *****                              *****
  473. ***********************************************************
  474. AGCTBL EQU  $-32      AGC TABLE LENGTH =  32
  475.        DATA >F8            0.9687500
  476.        DATA >F0            0.9375000
  477.        DATA >EA            0.9140625
  478.        DATA >E3            0.8867188 35 -
  479.        DATA >DD            0.8632812
  480.        DATA >D7            0.8398438
  481.        DATA >D2            0.8203125
  482.        DATA >CC            0.7968750 39 -
  483.        DATA >C7            0.7773438
  484.        DATA >C3            0.7617188
  485.        DATA >BE            0.7421875
  486.        DATA >BA            0.7265625 43 -
  487.        DATA >B6            0.7109375
  488.        DATA >B2            0.6953125
  489.        DATA >AE            0.6796875
  490.        DATA >AA            0.6640625 47 -
  491.        DATA >A7            0.6523438
  492.        DATA >A3            0.6367188
  493.        DATA >A0            0.6250000
  494.        DATA >9D            0.6132813 51 -
  495.        DATA >9A            0.6015625
  496.        DATA >97            0.5898438
  497.        DATA >94            0.5781250
  498.        DATA >92            0.5703125 55 -
  499.        DATA >8F            0.5585938
  500.        DATA >8D            0.5507813
  501.        DATA >8A            0.5390625
  502.        DATA >88            0.5312500 59 -
  503.        DATA >86            0.5234375
  504.        DATA >84            0.5156250
  505.        DATA >82            0.5078125
  506.        DATA >7F            0.4960938 63 -
  507.        DATA >7D
  508.        DATA >7B
  509.        DATA >79
  510.        DATA >77
  511.        DATA >75
  512.        DATA >73
  513.        DATA >71
  514.        DATA >6F
  515.        PAGE
  516. *
  517. ********------------------------------------------********
  518. *****        SINE(COSINE) TABLE             *****
  519. ********------------------------------------------********
  520. SINE    DATA    >0
  521.     DATA    >648
  522.     DATA    >C8C
  523.     DATA    >12C8
  524.     DATA    >18F9
  525.     DATA    >1F1A
  526.     DATA    >2528
  527.     DATA    >2B1F
  528.     DATA    >30FC
  529.     DATA    >36BA
  530.     DATA    >3C57
  531.     DATA    >41CE
  532.     DATA    >471D
  533.     DATA    >4C40
  534.     DATA    >5134
  535.     DATA    >55F6
  536.     DATA    >5A82
  537.     DATA    >5ED7
  538.     DATA    >62F2
  539.     DATA    >66D0
  540.     DATA    >6A6E
  541.     DATA    >6DCA
  542.     DATA    >70E3
  543.     DATA    >73B6
  544.     DATA    >7642
  545.     DATA    >7885
  546.     DATA    >7A7D
  547.     DATA    >7C2A
  548.     DATA    >7D8A
  549.     DATA    >7E9D
  550.     DATA    >7F62
  551.     DATA    >7FD9
  552. COSINE    DATA    >7FFF
  553.     DATA    >7FD9
  554.     DATA    >7F62
  555.     DATA    >7E9D
  556.     DATA    >7D8A
  557.     DATA    >7C2A
  558.     DATA    >7A7D
  559.     DATA    >7885
  560.     DATA    >7642
  561.     DATA    >73B6
  562.     DATA    >70E3
  563.     DATA    >6DCA
  564.     DATA    >6A6E
  565.     DATA    >66D0
  566.     DATA    >62F2
  567.     DATA    >5ED7
  568.     DATA    >5A82
  569.     DATA    >55F6
  570.     DATA    >5134
  571.     DATA    >4C40
  572.     DATA    >471D
  573.     DATA    >41CE
  574.     DATA    >3C57
  575.     DATA    >36BA
  576.     DATA    >30FC
  577.     DATA    >2B1F
  578.     DATA    >2528
  579.     DATA    >1F1A
  580.     DATA    >18F9
  581.     DATA    >12C8
  582.     DATA    >C8C
  583.     DATA    >648
  584.     DATA    >0
  585.     DATA    >F9B8
  586.     DATA    >F374
  587.     DATA    >ED38
  588.     DATA    >E707
  589.     DATA    >E0E6
  590.     DATA    >DAD8
  591.     DATA    >D4E1
  592.     DATA    >CF04
  593.     DATA    >C946
  594.     DATA    >C3A9
  595.     DATA    >BE32
  596.     DATA    >B8E3
  597.     DATA    >B3C0
  598.     DATA    >AECC
  599.     DATA    >AA0A
  600.     DATA    >A57E
  601.     DATA    >A129
  602.     DATA    >9D0E
  603.     DATA    >9930
  604.     DATA    >9592
  605.     DATA    >9236
  606.     DATA    >8F1D
  607.     DATA    >8C4A
  608.     DATA    >89BE
  609.     DATA    >877B
  610.     DATA    >8583
  611.     DATA    >83D6
  612.     DATA    >8276
  613.     DATA    >8163
  614.     DATA    >809E
  615.     DATA    >8027
  616.     DATA    >8001
  617.     DATA    >8027
  618.     DATA    >809E
  619.     DATA    >8163
  620.     DATA    >8276
  621.     DATA    >83D6
  622.     DATA    >8583
  623.     DATA    >877B
  624.     DATA    >89BE
  625.     DATA    >8C4A
  626.     DATA    >8F1D
  627.     DATA    >9236
  628.     DATA    >9592
  629.     DATA    >9930
  630.     DATA    >9D0E
  631.     DATA    >A129
  632.     DATA    >A57E
  633.     DATA    >AA0A
  634.     DATA    >AECC
  635.     DATA    >B3C0
  636.     DATA    >B8E3
  637.     DATA    >BE32
  638.     DATA    >C3A9
  639.     DATA    >C946
  640.     DATA    >CF04
  641.     DATA    >D4E1
  642.     DATA    >DAD8
  643.     DATA    >E0E6
  644.     DATA    >E707
  645.     DATA    >ED38
  646.     DATA    >F374
  647.     DATA    >F9B8
  648. *
  649.     PAGE
  650. ************************************************************
  651. ******        Initializtion routine              ******
  652. ************************************************************
  653. START  DINT
  654.        LDPK 0         SET DATA PAGE TO 0
  655.        ROVM         RESET OVERFLOW MODE
  656.        CALL SETUPO     INITIALIZE FOR 1200 ORIGINATE
  657. *
  658.        LAC  ONE,4    SET COUNTER VALUE TO RUN
  659.        SACL TEMP    DLB AT 600 BAUD
  660. COMD   EQU  $
  661.        CALL ANALOG    CALL ANALOG ACCESS ROUTINE
  662. *
  663. LOOK   NOP
  664. LOOK1  IN   XMTD,PA7    LOOK FOR COMMAND
  665.        LACK >30     MASK OFF ALL BUT COMMAND BITS
  666.        AND  XMTD    CHECK COMMAND BITS FOR NEW COMMAND
  667.        BZ   COMD    IF ZERO THEN NO COMMAND YET
  668.        SUB  ONE,4    CHECK FOR DIAL COMMAND
  669.        BZ   DIAL    IF SO THEN EXECUTE TEST
  670.        SUB  ONE,4    CHECK FOR MODEM RUN COMMAND
  671.        BNZ  LOOK3    IF NOT MUST BE NEW CONFIGURATION
  672.        LACK >80     CHECK ANSWER/ORIGINATE BIT
  673.        AND  RECST    OF STATUS REGISTER
  674.        BZ   RUNAM    IF 0 THEN ANSWER MODE
  675.        CALL SETUPO    ELSE INITIALIZE TO ORIGINATE
  676.        B    RUN12    AND RUN
  677. RUNAM  CALL SETUPA    INITIALIZE TO ANSWER MODE
  678.        B    RUN12    AND RUN IT
  679. LOOK3  LACK >F        MASK OFF COMMAND BITS
  680.        AND  XMTD    TO GET SPECIFIC CONFIGURATION
  681. *   THIS IS FOR CONFIGURATION CODES
  682.        BZ   RUN12    RUN THE MODEM AT 1200           0
  683.        SUB  ONE     CHECK FOR COMMAND ONE
  684.        BZ   LDLB    RUN LOCAL DIGITAL LOOP BACK       1
  685.        SUB  ONE     CHECK FOR COMMAND TWO
  686.        BZ   RUNALB    SETUP THE MODEM TO RUN ALB       2
  687.        SUB  ONE     CHECK FOR COMMAND THREE
  688.        BZ   SETORG    SET UP MODEM TO RUN ORIGINATE MODE 3
  689.        SUB  ONE     CHECK FOR COMMAND FOUR
  690.        BZ   SETANS    SET UP MODEM TO RUN ANSWER MODE    4
  691.        SUB  ONE     CHECK FOR COMMAND FIVE
  692.        BZ   RUN103    RUN MODEM AT 300BPS           5
  693.        ADD  ONE     *(12-5+1)=8
  694.        SUB  ONE,3    CHECK FOR COMMAND 12
  695.        BZ   RUN12A    RUN 1200 ANSWER INITIALIZATION      12
  696.        SUB  ONE     CHECK FOR COMMAND 13
  697.        BZ   RSQ103    RUN 300BPS MODEM SQUELCH XMT      13
  698.        B    COMD    CHECK FOR NEXT COMMAND
  699. RUNALB LAC  ONE,13    LOAD ACC WITH 2000 TO PUT
  700.        SACL XDELTA    XMIT IN SAME BAND AS RECEIVE
  701.        B    WAIT    CHECK FOR NEXT COMMAND
  702. SETORG EQU  $
  703.        LACK >A0     SET ANS-/ORG BIT AND ENERGY DETECT
  704.        SACL RECST    BIT IN RECST FOR ORG MODE
  705.        CALL SETUPO    INITIALIZE TO ORIGINATE MODE
  706.        B    COMD    CHECK FOR NEXT COMMAND
  707. *
  708. *  THE SETANS WILL NOT WORK UNTIL THE BAND FILTERS
  709. *  ARE REMOVED FROM THE CODE
  710. SETANS LACK >24     SET ANS-/ORG, EDT & ANS TONE ENABLE
  711.        SACL RECST    IN THE RECIEVE STATUS REGISTER
  712.        CALL SETUPA    INITIALIZE TO ANSWER MODE
  713.        B    COMD    CHECK FOR NEXT COMMAND
  714. *
  715. LDLB   LAC  ONE,4    RESET COUNTER VALUE TO RUN
  716.        SACL SAMPLE    DLB AT 600 BAUD
  717. LDLB1  CALL ANALOG    WAIT FOR NEXT SAMPLE PERIOD
  718. DLBOUT EQU  $
  719.        LAC  SAMPLE    GET 16 SAMPLE BAUD COUNTER
  720.        SUB  ONE     DECREMENT IT
  721.        SACL SAMPLE    SAVE COUNT
  722.        BNZ  LDLB1    COUNT ANOTHER SAMPLE PERIOD
  723.        OUT  XMTD,PA7    ECHO INPUT
  724.        NOP        DUMMY
  725.        IN   XMTD,PA7    GET NEXT DIBIT
  726.        LACK >30     MASK OFF ALL BUT COMMAND BITS
  727.        AND  XMTD    CHECK COMMAND BITS FOR SQUELCH
  728.        BZ   COMD    IF SQUELCH KILL LDLB
  729.        B    LDLB    ELSE CONTINUE RUNNING
  730. *
  731.        PAGE
  732. *  THIS ROUTINE INITIALIZES/REINITIALIZES THE MODEM REGS
  733. SETUPA EQU  $     FOR ANSWER MODEM
  734. *      INITIALIZE CARRIER FREQUENCY CONTROLLERS
  735.        LACK DT         GET TRANSMIT RANGE
  736.        TBLR RDELTA     AND STORE FOR REFERENCE
  737.        ADD  ONE      GET RECEIVE RANGE
  738.        TBLR XDELTA     AND STORE FOR REFERENCE
  739.        LACK ACEQU     POINT TO EQUALIZER COEFS
  740.        B    SETUP     CONTINUE SETUP
  741. *
  742. SETUPO EQU  $     FOR ORIGINATE MODEM
  743. *      INITIALIZE CARRIER FREQUENCY CONTROLLERS
  744.        LACK DT         GET TRANSMIT RANGE
  745.        TBLR XDELTA     AND STORE FOR REFERENCE
  746.        ADD  ONE      GET RECEIVE RANGE
  747.        TBLR RDELTA     AND STORE FOR REFERENCE
  748.        LACK OCEQU     POINT TO EQUALIZER COEFS
  749. *
  750. SETUP  EQU  $
  751. *    LOAD IN EQUALIZER COEFFICIENTS
  752.        LDPK 1           EQUALIZER RUNS FROM DATA PAGE 1
  753.        TBLR A11
  754.        ADD  ONE
  755.        TBLR A12
  756.        ADD  ONE
  757.        TBLR B10
  758.        ADD  ONE
  759.        TBLR B11
  760.        ADD  ONE      READ IN THE
  761.        TBLR B12      COMPROMISE EQUALIZER
  762.        ADD  ONE      COEFFICIENTS
  763.        TBLR A21      FROM THE APPROPIATE
  764.        ADD  ONE      TABLE
  765.        TBLR A22
  766.        ADD  ONE
  767.        TBLR B20
  768.        ADD  ONE
  769.        TBLR B21
  770.        ADD  ONE
  771.        TBLR B22
  772.        LACK 0           CLEAR OUT THE
  773.        SACL R1Z1       EQUALIZER DELAY
  774.        SACL R1Z2       EQUALIZER DELAY
  775.        SACL R2Z1       EQUALIZER DELAY
  776.        SACL R2Z2       EQUALIZER DELAY
  777.        LDPK 0
  778.        SACL BEROUT       BAUD ALLIGNMENT FACTOR
  779.        SACL ERRSIG       CARRIER RECOVER ADJUSTMENT
  780. *
  781.        LACK 1         SET UP SHIFTABLE INCREMENT
  782.        SACL ONE      VALUE FOR MASKING AND INCS
  783.        LACK M1         LOAD IN AND MASK OF >7FFF
  784.        TBLR MASK1     TO MASK OFF MSB
  785.        LACK M2         LOAD IN AND MASK OF >007F
  786.        TBLR MASK2     TO MASK OFF ALL BUT 7 BITS
  787.        LACK M3         LOAD IN AND MASK OF >0006
  788.        TBLR MASK3     TO MASK OFF DIBIT FOR TBLR
  789.        LACK MIN1     LOAD IN Q12 -1 VALUE FOR
  790.        TBLR MINUS1     EASY COMPARISON
  791.        LACK PLS1     LOAD IN Q12 +1 VALUE FOR
  792.        TBLR PLUS1     EASY COMPARISON
  793. *
  794. *    INITIALIZE THE 32011 SERIAL PORT
  795.        LACK INISP1     GET SERIAL PORT INIT TABLE
  796.        TBLR TEMP     LOAD THE INITIAL CONTROL
  797.        OUT  TEMP,PA0     REG SETTING
  798.        ADD  ONE      PUT THE CLOCK/COUNTER
  799.        TBLR TEMP     VALUE SETTING INTO
  800.        OUT  TEMP,PA1     THE CONTROL REG
  801.        ADD  ONE      RESET THE BIT 8 IN CONTROL
  802.        TBLR TEMP     REG TO ALLOW ACCESS TO
  803.        OUT  TEMP,PA0     THE TRANSMIT REGISTER
  804.        LACK 0         INITIALIZE THE TRANSMISSION
  805.        SACL TEMP     TO THE CODEC TO BE
  806.        OUT  TEMP,PA1     A LOW LEVEL SIGNAL
  807. *
  808.        LACK SINTBL     LOAD OFSET0 POINTER WITH
  809.        TBLR OFSET0     ADDRESS OF SINE TABLE
  810.        LACK ENCODE     STORE PHASE ENCODE TBL START
  811.        SACL OFSET1     FOR EASY TABLE LOOKUP
  812.        LACK COEF     STORE RAISED COS COEF START
  813.        SACL XPTR     FOR EASY TABLE LOOKUP
  814.        LACK XPHASE     STORE XMIT PHASE START
  815.        SACL INDXPH     FOR EASY TABLE LOOKUP
  816.        LACK RPHASE     STORE RECV PHASE START
  817.        SACL RPHSE     FOR EASY TABLE LOOKUP
  818.        ZAC         MISC. INITIALIZATIONS.
  819.        SACL ERNM1     CLEAR CARRIER RECOVER PLL TAP
  820.        SACL ERNM2     CLEAR CLOCK RECOVER PLL TAP
  821.        SACL ROLDPH     CLEAR OLD ABSOLUTE PHASE
  822. *
  823. *      INITIALIZE CARRIER LOOKUP POSITION
  824.        SACL RALPHA     CLEAR RECEIVE POSITION
  825.        SACL XALPHA     CLEAR TRANSMIT POSITION
  826. *
  827. *
  828.        LACK TH1      GET PPL THRESHOLD INDICATORS
  829.        TBLR TRSHD1     STORE CARRIER THRESHOLD
  830.        ADD  ONE      AND
  831.        TBLR TRSHD2     STORE CLOCK THRESHOLD
  832. *-------------------------------
  833. *  LOAD IN PHASE LOCK LOOP COEFFICIENTS
  834.     LACK    PLLC1     STORE CARRIER COEF1
  835.     TBLR    PLL1     FOR EASY ACCESS
  836.     ADD    ONE     STORE CARRIER COEF2
  837.     TBLR    PLL2     FOR EASY ACCESS
  838.     ADD    ONE     STORE CLOCK COEF1
  839.     TBLR    BPLL1     FOR EASY ACCESS
  840.     ADD    ONE     STORE CLOCK COEF2
  841.     TBLR    BPLL2     FOR EASY ACCESS
  842. *--------------------------------
  843.     LACK    AGCTBL     SET THE AGC TABLE LOOKUP
  844.     SACL    AGCOFF     OFF SET VALUE
  845.     LAC    ONE,13     INITIALIZE RUNNING AVERAGE
  846.     SACL    AGCRA     TO >2000
  847.     LACK    >FF     INITIALIZE THE AGC FACTOR
  848.     SACL    AGC     TO ONE
  849.     ZAC         INITIALIZE THE
  850.     SACL    BSMAX     BAUD SIGNAL MAX TO ZERO
  851.     LACK    3     RUNNING AVERAGE COUNT
  852.     SACL    AGCNT     TO THREE
  853.     LACK    15     SET THE REC SAMPLE COUNT
  854.     SACL    SAMPLE     TO 16
  855.     LACK    16     SET THE CARRIER TREND
  856.     SACL    TRNDCT     BAUD COUNT TO 16
  857.     ZAC         SET THE XMT SAMPLE COUNT
  858.     SACL    SAMXMT     TO ZERO
  859.     SACL    CTRND     CLEAR OUT CARRIER TREND
  860.     SACL    DBUGC     CLEAR OUT INITIAL BAUD COUNT
  861.     SACL    DBUGC2
  862.     SACL    HIST1
  863.     SACL    HIST2
  864. *
  865.     RET
  866. *
  867.     PAGE
  868.     END
  869.